<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2.天气案例_增加提示功能</title>
    <style>
        img {
            width: 100px;
        }
    </style>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>

<body>
    <!-- 
        监视属性 watch :
        1.当被监视的属性发生变化时,回调函数自动调用,进行相关操作
        2.监视的属性必须存在,才能进行监视!!
        3.监视的两种写法:
                    (1)new Vue 时传入watch配置
                    (2)通过$vm.$watch 监视(了解即可)
        备注:被监视的可以是,属性(data), 也可以是时计算(computed)
     -->
    <!-- 准备好一个容器-->
    <div id="demo">
        <h1>今天天气很{{info}}</h1>
        <button @click="changeWeather">切换天气</button><br />
        <img :src="url" alt="">
    </div>
</body>

<script type="text/javascript">
    //阻止 vue 在启动时生成生产提示。
    Vue.config.productionTip = false
    const vm = new Vue({
        el: '#demo',
        data: {
            isHot: true,
            url: 'https://s3.ax1x.com/2020/12/13/reC1IA.jpg'
        },
        computed: {
            info() {
                return this.isHot ? '炎热' : '凉爽'
            }
        },
        methods: {
            changeWeather() {
                this.isHot = !this.isHot
            }
        },
        // watch: {
        //     isHot: {
        //         handler(newValue, oldValue) {
        //             console.log('isHot的值发生变化```', newValue, oldValue)
        //             if (newValue) {
        //                 this.url = 'https://s3.ax1x.com/2020/12/13/reC1IA.jpg'
        //             } else {
        //                 this.url = 'https://s3.ax1x.com/2020/12/13/reCaqg.jpg'
        //             }
        //         }
        //     }
        // }
        
       
    })
    //如下的这种监视写法,了解即可
    vm.$watch('isHot',{
            handler(newValue,oldValue){
                console.log('isHot的只发生变化了````,newValue,oldValue')
                if(newValue){
                    this.url = "https://s3.ax1x.com/2020/12/13/reC1IA.jpg"
                }else{
                    this.url = 'https://s3.ax1x.com/2020/12/13/reCaqg.jpg'
                }
            }
        } )
</script>

</html>